package com.nai365.nart.operation.dto;

import com.nai365.nart.member.dto.SimpleMemberDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.nai365.nart.member.entity.Member;


import java.time.LocalDateTime;

@Data
@ApiModel(value = "优先购")
public class PreemptionDto {


	/**
	 * id
	 */
	@ApiModelProperty(value = "id")
	private Long id;

	/**
	 * 用户id
	 */
	@ApiModelProperty(value = "用户id")
	private Long userId;


	@ApiModelProperty(value = "用户")
	private SimpleMemberDto member;

	/**
	 * 类型：1：不限制2：限制藏品类别3：限制藏品
	 */
	@ApiModelProperty(value = "类型：1：不限制2：限制藏品类别3：限制藏品")
	private Integer type;

	@ApiModelProperty(value = "typeName")
	private String typeName;

	/**
	 * 类别id,type=2有效
	 */
	@ApiModelProperty(value = "藏品类别id")
	private Long categoryId;

	@ApiModelProperty(value = "藏品类别名称")
	private String categoryName;


	/**
	 * 藏品id,type=3有效
	 */
	@ApiModelProperty(value = "藏品id")
	private Long artifactId;


	@ApiModelProperty(value = "藏品名称")
	private String artifactName;

	/**
	 * 数量
	 */
	@ApiModelProperty(value = "数量")
	private Integer quantity;

	/**
	 * 有效期，开始时间，如果为空不限制开始使用时间
	 */
	@ApiModelProperty(value = "有效期，开始时间，如果为空不限制开始使用时间")
	private LocalDateTime effectBeginTime;

	/**
	 * 有效期，结束时间，如果为空不限制使用结束时间
	 */
	@ApiModelProperty(value = "有效期，结束时间，如果为空不限制使用结束时间")
	private LocalDateTime effectEndTime;

	/**
	 * 有效状态：1：有效0：无效
	 */
	@ApiModelProperty(value = "有效状态：1：有效0：无效")
	private Integer effect;

	@ApiModelProperty(value = "effectName")
	private String effectName;

	/**
	 * 使用次数
	 */
	@ApiModelProperty(value = "使用次数")
	private Integer useCount;

	/**
	 * 创建人
	 */
	@ApiModelProperty(value = "创建人")
	private Long createBy;

	/**
	 * 修改人
	 */
	@ApiModelProperty(value = "修改人")
	private Long updateBy;

	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "创建时间")
	private LocalDateTime createTime;

	/**
	 * 修改时间
	 */
	@ApiModelProperty(value = "修改时间")
	private LocalDateTime updateTime;

	/**
	 * delFlag
	 */
	@ApiModelProperty(value = "delFlag")
	private String delFlag;

}
